#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e6+5;
int a[N],tong[N];
//set<int>s;
inline int read(){
	int a=1,b=0;
	char ch=getchar();
	while(ch<'0'||ch>'9'){
		if(ch=='-') a=-a;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9'){
		b=(b<<1)+(b<<3)+(ch^48);
		ch=getchar(); 
	}
	return a*b;
}

inline void write(int x){
	if(x>9) write(x/10);
	putchar((x%10+'0'));
} 

signed main(){
	
	freopen("kte.in","r",stdin);
	freopen("kte.out","w",stdout);
	int T=read();
	int len=0;
	if(T<=1000){
		while(T--){
	//		for(int i=1;i<=len;i++) cout<<a[i]<<" ";cout<<endl;
			int x=read();
			int now=lower_bound(a+1,a+len+1,x)-a;
	//		if(now)
			if(x==a[now]&&now!=len+1&&len!=0){
				a[now]=a[len];
				len--;
			}
			else{
				a[++len]=x;
			}
			 
			int lsum=0,rsum=0,ans=0,r=0;
			for(int i=1;i<len;i++){
				lsum+=a[i],rsum+=a[len+1-i];
				if(lsum>=r) ans+=rsum-lsum,r=rsum;
				else ans+=rsum-r,r=rsum;
			}
			printf("%lld\n",ans);
	//		return 0;
		}	
	}
	else {
		int x,lsum,ans,r,rsum;
		while(T--){
			len=0;
			x=read();
			if(tong[x]){
				tong[x]=0;
//				len--;
			} 
			else{
				tong[x]=1;
//				len++;
			}
//			mx=max(mx,x),mn=min(mn,x);
			for(register int i=1;i<=30000;i++){
				if(!tong[i]) continue;
				a[++len]=i;
			}
			lsum=0,rsum=0,ans=0,r=0;
			for(register int i=1;i<len;++i){
				lsum+=a[i],rsum+=a[len+1-i];
				if(lsum>=r) ans+=rsum-lsum,r=rsum;
				else ans+=rsum-r,r=rsum;
			}
			write(ans);
			printf("\n");
		}
	}
//	else{
//		for(int i=1;i<=T;i++){
//			x[i]=read();
//		}
//		sort(x+1,x+T+1);
//		int tot=unique(x+1,x+T+1)-x;
//		for(int i=1;i<=tot;i++) mp[a[i]]=i;
//		for(int i=1;i<=T;i++){
//			int now=mp[x[i]];
//			if(mpp[now])
//		}
//	}
	return 0;
}
